There are many different types of electronic and/or mechanical devices for which access is protected by entry of a code or password (such as a series of alphabetic, numeric, or alphanumeric characters). To gain access to the electronic and/or mechanical device, a user may be required to enter the code or password. In the event that the correct code is submitted via a user interface, the user is granted access to the electronic and/or mechanical device.
There are different ways in which the user can submit codes. For example, the user may type out the code on a keyboard or keypad. In the event that the user is required to type in the code to gain secure access to a security gate or garage door, the requirement of having to type in the code can sometimes be problematic for the user. For example, if the user is holding packages in both hands, the user would have to set at least one of the packages down to free a hand with which to type the code. Moreover, in the event that the keypad has small keys, some users might have to take off gloves when typing the code in on a cold winter evening, resulting in inconvenience or worse.
Other systems utilize voice recognition. The user may speak the code and voice recognition software detects a spoken code and compares the spoken code with a code pre-stored in a memory. A problem arises, however, in the event that the background noise level is relatively high. For example, if located near a busy traffic intersection it may be difficult to detect the spoken words and determine the code. It may also occasionally be difficult for the voice recognition program to determine a spoken code on a windy day when the wind is blowing toward a microphone used with the voice recognition device. Accordingly, in the event of such conditions where the background noise level is relatively high, it can be difficult for typical voice recognition devices to accurately detect a spoken code. Therefore, some current systems may not provide secure access to a security gate or garage door to the user speaking a correct code when the background noise level is too large.